Connectivity architecture for service discovery

ABSTRACT

A system including a billboard that may comprise a common memory space allocated amongst at least two devices. Service nodes created on the billboard may represent services offered by the at least two devices. Service nodes may interact with each other on the billboard in order to perform inquiries for required services. For example, an application residing in the at least two devices may access the billboard in order to locate service nodes pertaining to a desired service. Information available from service nodes may include service property and usable transport information. A direction connection may then be made between the application and the service after a service node is selected.

BACKGROUND OF INVENTION

1. Field of Invention

The present invention relates to strategies for wirelessly conveyinginformation between devices, and more specifically, to a system formaking services that may exist on one or more devices available to anydevice via a shared information space.

2. Background

In general, a software program may include a set of instructions,executable by a processor, that are organized to receive input (e.g.,data) for a calculation or determination that may then result in anoutput. Over the years, software technology has evolved to transformthese individual instruction sets into modules that may in turn beintegrated together to form the more complex programs we know today.Today's more-sophisticated software programs may receive various formsof input such as raw data, for example as stored in magnetic or opticalstorage, user input through various known types of user interfaces,measured or monitored information converted to electronic informationfrom electronic and/or electromechanical sensors, etc.

In some instances, programs may be configured to produce data usable byother software applications. However, a problem may be presented inconveying the information from one program to another. If therelationship is known before the programs are created, then a specificstrategy may be devised to convert one program's output into anotherprogram's input. Traditionally this strategy has led to functional butrigid software applications, requiring frequent and possibly substantialrevisions due to changes in functionality, platform, architecture, etc.

An example of this rigid incompatibility may be seen in solutionscurrently utilized for coupling wireless communication devices. Somemanufacturers may attempt to simplify device operation by facilitatingautomatic wireless recognition and connection functionality betweendevices. This automated behavior, similar to the original “plug andplay” devices that became available with the emergence of UniversalSerial Bus (USB) technology, may allow unskilled users to operatewirelessly-coupled devices without having to first configure devicecommunication settings. However, this functionality is often achievedthrough the use of services established by different manufacturers oruser groups such as Bluetooth™ Service Discovery Protocol (BT SDP),Bonjour, Universal Plug and Play (UPnP), etc. Individually theseprotocols (e.g., groups of services) may function adequately, but theywere not created with the ability to interact. In at least oneproblematic scenario, a wireless communication device utilizing oneservice discovery protocol would not be able to wirelessly connect toanother device, identify another device, utilize services on anotherdevice, etc. that is utilizing a different service discovery protocol,and therefore, beneficial functionality available on a device may belost because a wireless coupling between devices cannot be automaticallyestablished.

SUMMARY OF INVENTION

The present invention includes at least a method, computer program,device and system for managing the operation of one or more devicesinteracting with a shared memory area, or billboard. Nodes also residenton the one or more devices may interact with the billboard in order totransmit/receive data. For example, nodes may be associated with variousservices offered by the one or more devices, providing a means forinteraction by which incompatibilities between different services may beovercome.

In at least one embodiment of the present invention, the billboard maybe comprised of a shared memory space allocated amongst a plurality ofdevices. In this configuration, each device may contain within itsmemory a “section” of the billboard. After the one or more devices arewirelessly coupled, information related to services available on thedevices may be obtained, and this information may in turn be utilized tocreate one or more service nodes corresponding to the offered services.Service nodes resident in the billboard may then be queried byapplications also resident on the one or more devices that require theuse of a particular service. Locating a service node related to thedesired service may then facilitate a direct link between theapplication and service.

The present invention may, in at least one embodiment, initiate wirelesscommunication with another device over a commonly supported wirelesscommunication medium. This wireless link may support various protocolsthat enable the formation of the shared memory space, service nodes,etc. on the devices. Network on Terminal Architecture (NoTA) is anexample of an architecture that may be implemented in variousembodiments of the present invention and that may be utilized to linkbillboard sections in each device. In creating service nodes,information related to properties and transport mediums usable by eachservice may be obtained. Property information may be made available toapplications by accessing the service node. Transport medium information(e.g., typically OSI layer 1-4) may relate each service to one or morecorresponding wired or wireless communication mediums, and may furtherbe employed in formulating a connectivity map. The connectivity map tieseach service to its corresponding transport mediums, and may be utilizedby an application when deciding which service to select.

DESCRIPTION OF DRAWINGS

The invention will be further understood from the following descriptionof various exemplary embodiments, taken in conjunction with appendeddrawings, in which:

FIG. 1 discloses the exemplary levels of a wireless communicationarchitecture in accordance with at least one embodiment of the presentinvention.

FIG. 2 discloses an exemplary link between two wireless communicationdevices in accordance with at least one embodiment of the presentinvention.

FIG. 3 discloses an example of services being utilized to create servicenodes on a billboard in accordance with at least one embodiment of thepresent invention.

FIG. 4A discloses an exemplary Network on Terminal Architecture inaccordance with at least one embodiment of the present invention.

FIG. 4B discloses an exemplary transport table in accordance with atleast one embodiment of the present invention.

FIG. 5 discloses an example of communication to a billboard utilizing aconnection map in accordance with at least one embodiment of the presentinvention.

FIG. 6A-6E discloses an example of an application querying and selectinga service in accordance with at least one embodiment of the presentinvention.

FIG. 6F discloses an example of the provision of services betweendevices using a billboard in accordance with at least one embodiment ofthe present invention.

FIG. 7 discloses an exemplary flowchart for a process for service nodecreation in accordance with at least one embodiment of the presentinvention.

FIG. 8 discloses an exemplary flowchart for a process for accessing aservice node in accordance with at least one embodiment of the presentinvention.

DESCRIPTION OF EXEMPLARY EMBODIMENTS

While the invention has been described below in terms of a multitude ofexemplary embodiments, various changes can be made therein withoutdeparting from the spirit and scope of the invention, as described inthe appended claims.

I. System Architecture

An exemplary wireless communication architecture in accordance with atleast one embodiment of the present invention is disclosed in FIG. 1.While the present invention focuses mainly on Billboard 120 andConnectivity Map 140, Whiteboard 100 is also disclosed for contextualpurposes. Whiteboard 100 may comprise the highest level of operation inthis architecture. At this level, operational groups 102 may be formedincluding whiteboards 104 and various application nodes. Applicationnodes may correspond to application existing on a plurality of wirelesscommunication devices, and may be utilized to exchange informationbetween these applications, for example, by placing data into, andremoving data from, whiteboard 104. For example, the various nodes mayconsist of proactive nodes (PN) 106 that may be utilized to placeinformation into whiteboard 104, reactive nodes (RN) 110 may be utilizedto take information from whiteboard 104. Information semanticsinterpreter (ISI) 108 may be utilized to link different whiteboardstogether. Utilizing these constructs, Whiteboard 104 may provide astandardized means for application interaction that overcomes manyincompatibilities.

Billboard level 120 may facilitates interaction between servicesavailable on the one or more devices. Services 130 and clients 132 thatmay utilize these services may be organized in service domains 122. Inat least one scenario, service domains 122 may correspond to aparticular protocol, such as UPnP, BT SDP, Bonjour, etc. In each servicedomain 122, services 130 may be represented by service nodes (SN) 126,and likewise, application nodes (AN) 128 may be established tocorrespond to applications. Further, service domains 122 may interactutilizing service ontology interpreters (SOI) 124. SOI 124 may allowservice domains 122 to interact with other service domains 122 in theservice level, even if the service domains 122 reside on differentwirelessly-linked devices (e.g., to provide access information to otherservice domains 122).

Connectivity map 140 may define available connectivitymethods/possibilities and topology for different devices participatingin sharing resources in order to support whiteboard 100 and billboard120. In at least one embodiment of the present invention, devices 144may be linked in directly connected groups 142. Examples of directlyconnected groups of devices (Dev) 142 may include devices connected viaBluetooth™ piconet, a WLAN network, a wUSB link, etc. Each directlyconnected group of devices 142 may further be linked by gateways (GW).

While FIG. 1 discloses an overall communication architecture usable withvarious embodiments of the present invention, for the sake ofexplanation in the present disclosure, a much more rudimentary scenariowill be utilized to illustrate service node related functionality. FIG.2 discloses device A 200 and device B 210. Examples of devices usable ininstance may include various wireless communication devices ranging fromvery basic wireless devices like wirelessly-enabled sensors or cellularhandsets to more complex wirelessly-enabled computing devices likelaptop or palmtop computers, wireless communicators, personal digitalassistants, or any similar devices with wired connectivity interfaces.The devices disclosed in FIG. 2 may be linked via wireless communication220 (e.g., WLAN), for example, in order to form an ad-hoc networkbetween the devices. Device B 210 may further include a variety ofservices and service search mechanism such as Bluetooth™-related BT SDPand UPnP. Under existing architecture schemes, device A 200 would not beaware of these services over wireless link 220, and further, even ifdevice A 200 was aware, most or all of these services would probably beinaccessible due to various incompatibility issues existing betweenservices. As a result, wireless coupling 220 between Device A 200 andDevice B 210 may only be beneficial for conveying information, since noaccess to remote services is available.

II. Service Node Implementation

A service may be defined as the functionality offered or derived from aparticular software program. Services may pertain to all aspects ofdevice functionality. Services may be provided, for example, by anoperating system loaded on a wireless communication device, or may beadded to the device by accessory applications related to communication,security, productivity, device resource management, entertainment, etc.In accordance with at least one embodiment of the present invention, oneor more service nodes may be established to correspond to servicesavailable on the one or more devices.

FIG. 3 discloses an example of billboard functionality in accordancewith at least one embodiment of the present invention. Billboard 300 maycomprise a shared memory space established amongst one or more wired orwireless devices. The scenario disclosed in FIG. 3 may further include aprotocol such as UPnP 310 installed on a device (e.g., device A 200),and Bluetooth™ SDP 320 installed, for example, on device B 210.Billboard 300 may interact with these protocols using one or moreservices installed on devices A 200 and B 210, such as exemplarybillboard services BB UPnP service 312 and BB SDP service 322. BBservices 312 and 322 may typically be components of UPnP and BTarchitecture but they may be components of an NoTA architecture, anexemplary configuration of which is described in detail below withrespect to FIG. 4.

UPnP 310 may offer various services locally on device A 200. Theseservices may include UPnP media renderer service 316 and UPnP massstorage service 318. Similarly, Bluetooth™ SDP 320 may provide BT OBEXservice 326 and BT mass storage service 328 on device B 210. It isimportant to note that these specific services have been used only forthe sake of example in the present disclosure, and are not intended tolimit the scope of services usable with various embodiments of thepresent invention. While these exemplary services would normally only beaccessible to applications residing on the same service domain, thepresent invention, in accordance with at least one embodiment, mayprovide for the interaction of various services and/or applications,regardless of the domain on which a service resides.

At least one embodiment of the present invention may operate to createservice nodes corresponding to the services offered on each device inbillboard table 300. In the scenario disclosed in FIG. 3, BB UPnP node312 and BB SDP node 322 may create service nodes UPnP media rendererservice 316A and UPnP mass storage service 318A, as well as BT OBEXservice 326A and BT mass storage service 328A, respectively. These nodesexist in a common billboard table 300, despite the protocols andservices actually residing on separate devices. Further, the nodes mayprovide information about services to other services and/orapplications, such as the name of the service, service properties,pairing & authentication information utilized in accessing a particularservice and/or transport mediums usable with each service. This serviceinformation may be obtained, for example by utilizing BB SDP service 322if billboard table 300 wants to be used from the BT domain, or BB UPnP312 service if billboard table 300 is wants to be utilized from the UPnPdomain. It may also be possible that some architectures, such as NoTA,support billboard service directly. NoTA services 302 may be utilized,in accordance with at least one embodiment of the present invention, toestablish the initial communication between devices A 200 and B 210 viaa wireless communication medium in order to establish a shared memoryspace that will be utilized as Billboard table 300.

III. Underlying Architecture

FIG. 4A discloses an example of an underlying logical architecture thatmay be utilized in implementing NoTA. NoTA may be configured as multiplesubsystems (e.g., 400 and 420) coupled by interconnect 450. NoTAinterconnect 450 may comprise two layers: High Interconnect (H_IN) layer452 and Low Interconnect (L_IN) layer 454 coupled by switch 456. Lowinterconnect layer 454 may include ISO/OSI layers L1-L4 and may providetransport socket type interface upwards. High Interconnect layer 452 mayact as the middleware between L_IN 454 and the higher level Applicationnodes (AN) 402 and Service nodes (SN) 422 residing in subsystems like400 and 420. Key H_IN 452 functionality is to provide client nodes (AN402 or SN 422) on top a direct access to services (without having todisclose the location of the latter). All communication may beconnection-oriented, meaning that before any service or datacommunication takes place, connection setup procedures need to becarried out. Security features have been added to countermeasure theidentified threats. NoTA is an architecture that may be used to provideintra-device service access, making it possible to build independentsubsystems providing both services and applications. In an exemplaryimplementation there may be several individual NoTA devices involved indirect inter sub-system communication.

FIG. 4B discloses another underlying construct that may be implementedin various embodiments of the present invention. Connectivity map 480may be utilized to map the various services offered on the one or moredevices participating in billboard table 300 to various transportmediums that may be utilized with each service. In the present example,transport mediums may comprise wireless communication mediums such asBluetooth™, WLAN, Wibree™, wUSB, etc. In addition, the presentinvention, in accordance with at least one embodiment, may also be thatradio technologies can be used with several protocols (e.g., Bluetoothprotocols may be implemented over WLAN). However, the present inventionis not specifically limited to using these particular wirelesscommunication mediums, and may be implemented with other wirelesscommunication mediums that are usable by services offered by variousdevices. In this example, Services offered by the devices may be listedunder services 482, and the corresponding available transport mediumsare listed under transports 484. Arrows between services 482 andtransport mediums 484 indicate the one or more transport mediums usableby each service. Connectivity map 480 may be utilized by applications indetermining an appropriate transport medium to utilize with a particularservice. Where two or more transport mediums are available, a particulartransport medium may be selected based on various characteristics suchas speed, traffic, priority of executing the service, other activewireless communication mediums, etc.

Now referring to FIG. 5, an example depicting a wireless transactionbetween device A 200 and device B 210 is disclosed in accordance with atleast one embodiment of the present invention. In this instance, BBservice search 500 on device A 200 may require the use of a particularservice. Further, billboard table 300 may reside on device B 210.Regardless of the actual location of the service required by BB servicesearch 500, a query may be made of billboard table 300 to gain access toa corresponding service node. This is because all available serviceinformation on the one or more devices participating in billboard table300 is centrally located, reducing the steps required to access eachservice, and therefore, increasing the speed of access for availableservices. In addition, various embodiments of the present invention mayinclude more than one billboard table 300 established between the linkeddevices. These billboard tables 300 may interact with each other tocreate a shared information pool that services may access.

BB service search 500 may, for example, using NoTA service 502 residingon device A 200 in order to access billboard table 300. In this example,connectivity map 504 may map to at least Bluetooth™ 506 as a transportmedium usable by NoTA service 502. Other wireless communication mediumsmay also be usable as transport mediums, however in this exampleBluetooth™ 506 is selected (e.g., by a user, by BB service search 500,by an application calling BB service search 500, etc.) A Bluetooth™wireless link 508 may then be utilized to communicate between device A200 and device B 210.

The wireless inquiry sent by device A 200 may then be received by deviceB 210. Bluetooth™ resources 520 in device B may correspond to (e.g., maybe usable by) NoTA service 524 as determined by a mapping inconnectivity map 522. NoTA service 524 may provide access to searchbillboard table 528, which may contain various service nodes 528corresponding to various services available in the linked wirelesscommunication devices. Again, while two devices are shown in the exampleof FIG. 5, more than two devices may participate in billboard table 300,including service nodes 528 corresponding to services that are offeredby each device. BB service search 500 may then perform an inquiry of theservice nodes 528 available in billboard table 300 in order to determineif any service will be suitable for the parameters specified in thesearch. An exemplary inquiry of billboard table 300 is now describedwith respect to FIG. 6A-6E.

IV. Exemplary Application/Service Node Interaction

FIG. 6A-6E disclose an exemplary usage scenario in accordance with atleast one embodiment of the present invention. In FIG. 6A, an exemplarysituation is shown wherein application 600 running on one of the devicesparticipating in billboard table 300 may have a requirement for storageas indicated at 602. As a result, access to a service providing storageactivities may be desired in order to support application 600. Thisinquiry may be performed, at least in part, by a billboard query 604.

An inquiry process in accordance with at least one embodiment of thepresent invention is shown in FIG. 6B. Storage inquiry 602 may bereferred billboard query 604, which queries all of the service nodes inbillboard table 300 in order to determine the services that maypotentially fulfill the needs of Application 600. In FIG. 6B two servicenodes have been highlighted as potentially corresponding to servicesappropriate for storage requirement 602. The potentially applicableservice nodes are UPnP mass storage 318A and BT mass storage 328A.Billboard query 604 may further obtain information related to theservices from their respective nodes. For example, property informationmay be supplied by service nodes 318A and 328A to application 600through billboard query 604. Information regarding transport mediumsusable by each service may also be obtained through the use ofconnectivity map 480. All of the aforementioned information may be usedin deter mining which service to select for supporting application 600.For example, the properties of a particular service may be more usefulfor, or accessible to, application 600. A particular service may also beselected because a usable transport medium is better able to support theactivity to be performed because other transport mediums already havetoo much traffic, are experiencing interference, conflict with othertransport mediums, etc.

In FIG. 6C, BT mass storage service node 328A has been selected tosupport application 600. This selection may be made automatically bycontrol elements in the one or more devices supporting billboard table300, by application 600, by user selection of a preferred service and/ortransport medium, etc. Billboard query 604 may then obtain all of theinformation necessary to access BT Mass storage service 328 from BT massstorage service node 328A. This information may include, for example,property information and transport medium information that may befurther conveyed to application 600 in order to facilitate a direct linkbetween application 600 with BT Mass storage service 328. An exemplarydirect linkage is shown in FIG. 6D, and a communication transactionresulting between application 600 and BT Mass storage service 328 isfurther shown in FIG. 6E.

Now referring to FIG. 6F, an example of devices providing services toother devices via billboard table 300 in accordance with at least oneembodiment of the present invention is disclosed. In this example,devices 610 and 620 may be wirelessly coupled to device 630. A UPnPprotocol in device 610 may couple to device 630 via WLAN, as shown at612, in order to create a UPnP mass storage service node in billboardtable 300. Similarly, a BT mass storage service in device 620 mayutilize the BT SDP protocol to create a service node in billboard table300 via Bluetooth™ communication 622. After these devices haveestablished billboard table 300, device 640 may enter.

Device 640 includes an application that requires a storage service.Device 640 may then access billboard table 300 on device 630 as shown at642. This connection may be made, for example, utilizing a NoTA servicecommunicating over WLAN. Device 640 may access billboard table 300 inorder to query the available services. If more than one applicableservice is located, a selection may be made as to the service mostappropriate for the application. In this example it is determined thatthe BT mass storage service will be most appropriate to assist theapplication in device 640. Device 640 may then obtain information fromthe BT mass storage node, such as property and transport mediuminformation, that will be needed in order to access the BT mass storageservice. Device 640 may then access the BT mass storage service ondevice 620 in order to establish a direct connection between theapplication and the service a shown at 644.

V. Exemplary Process Flow

A process for establishing service nodes in accordance with at least oneembodiment of the present invention is disclosed in FIG. 7. In step 700,a device may wirelessly link to another device. For example, an initialconnection may be established over a wireless communication mediumsupported by at least two devices. After the initial connection isestablished, a determination may be made in step 702 as to whetherbillboard 300 is available on the linked devices. If billboard 704 isnot available, then in step 704 the availability of resources related tosupporting a needed service is verified. If these services areavailable, the process may proceed to node interoperation 718 wherevarious nodes may interact. Otherwise, the process may return to step700 until at least two Billboard-enabled devices are linked.Alternatively, if billboard 300 is available the process may move tostep 706.

In step 706 a shared memory space may be established amongst the atleast two participating devices in order to support billboard table 300.A query may then occur in step 708 in order to obtain information on allservices offered by the devices involved in billboard table 300. Aninquiry may be made, for example, by billboard query 604. As part ofthis inquiry, the names, property information, transport mediuminformation, etc. for each offered service may be collected. Thisservice information may be used, for example, to create a connectivitymap 480 linking services to all corresponding usable transport mediumsand protocols in step 710. Further, one or more service nodes associatedwith a service may be created in step 712. A service node may be createdin shared memory space for each service offered by the at least twolinked devices.

In step 714, a determination may be made as to whether any additionaldevices have been wirelessly linked to the existing at least two devicesfor participation in billboard 300. If new devices have been added, thenin step 716 services available on the newly added device(s) may beincorporated into billboard 300 by repeating steps 710 and 712 in orderto create additional transport mapping and service node creation toaccount for the additional or changed services. If in step 714 nofurther devices have been added to billboard 300, then nodeinteroperation may begin in step 718. Node interoperation may includeexemplary interaction between service nodes, at least one aspect ofwhich is described in more detail with respect to the flowchart of FIG.8. Node interoperation may continue in step 720 until the connection isterminated. The process may then return to initial step 700 to wait fora new wireless connection to occur between devices.

A process describing an exemplary interaction between an application andbillboard 300 in accordance with at least one embodiment of the presentinvention is now described with respect to FIG. 8. In step 800 anapplication may request utilization of a service. This request may berouted, for example, via billboard query 604. Billboard query 604 maythen interact with one or more services, for example services that arelinking components of a NoTA, in order to determine if any of theservices offered by the at least two devices, and represented by servicenodes in billboard 300, may be applicable to meeting the needs of therequesting application. If in step 802 no suitable service nodes arelocated, then in step 804 corrective action may occur. Corrective actionmay include activating the required service on the at least two devices,or may involve notification to a requesting application and/or a userthat the service required by the application is currently not available.The process may then return to step 800 to await a new or modifiedservice inquiry. If at least one service node is located that may beapplicable to fulfilling the requirements of the requesting application,then the process may proceed to step 806.

In step 806 the services applicable to the requirements of therequesting application node may be reviewed. This review may includereviewing the properties of each service, which may be available to therequesting application from the service node, and further, reviewing thecorresponding transport mediums usable by each service. The transportmediums may be determined, for example, by reviewing a connectivity map480 that links services and corresponding transport mediums. A servicemay be selected based on a variety of characteristics related to one ormore of the requesting application, the particular service, the device aservice resides upon, the transport medium usable by a service, etc. Ifno service is selected in step 808, then the process may return to step802 until an acceptable service is located or no potential services arelocated (e.g., step 804). Once a service is selected, then in step 810the application may be directly connected to the service, allowing theapplication to directly access the service, and the process may thenreturn to step 800 to await the next application that may request accessto a service.

Accordingly, it will be apparent to persons skilled in the relevant artthat various changes in form a and detail can be made therein withoutdeparting from the spirit and scope of the invention. The breadth andscope of the present invention should not be limited by any of theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A method, comprising: linking at least twodevices via at least one wireless communication medium to form anetwork; creating a shared memory space for maintaining informationaccessible by any of the at least two devices forming the network;obtaining service information related to services offered by any of theat least two devices within the network, the service informationincluding transport medium information; creating a connectivity table,wherein the connectivity table is associated with the serviceinformation and maps the transport medium information to the serviceinformation; creating service nodes corresponding to the serviceinformation in the shared memory space; and mapping the shared memoryspace in order to select at least one service node specified by anapplication resident on a device in the network and at least onetransport medium determined utilizing the connectivity table.
 2. Themethod of claim 1, wherein the at least one service node providesservice property information and transport medium information to theapplication.
 3. The method of claim 1, wherein the application isdirectly coupled to the service after the at least one service node andat least one transport medium are selected.
 4. A computer programproduct comprising computer executable program code recorded on acomputer readable non-transitory storage medium, the computer executableprogram code comprising: code configured to cause at least two devicesto link via at least one wireless communication medium to form anetwork; code configured to cause a device to create a shared memoryspace for maintaining information accessible by any of the at least twodevices forming the network; code configured to cause a device to obtainservice information related to services offered by any of the at leasttwo devices within the network, the service information includingtransport medium information; code configured to cause a device tocreate a connectivity table, wherein the connectivity table isassociated with the service information and maps the transport mediuminformation to the service information; code configured to cause adevice to create service nodes corresponding to the service informationin the shared memory space, and code for mapping the shared memory spacein order to select at least one service node specified by an applicationresident on a device in the network and at least one transport mediumdetermined utilizing the connectivity table.
 5. The computer programproduct of claim 4, wherein the at least one service node providesservice property information and transport medium information to theapplication.
 6. The computer program product of claim 4, wherein theapplication is directly coupled to the service after the at least oneservice node and at least one transport medium are selected.
 7. Adevice, comprising: at least one processor; and at least one memoryincluding computer program code, the at least one memory and thecomputer program code configured to, with the at least one processor,cause the apparatus at least to: connect the device to a network via acommunication medium; create a shared memory space for maintaininginformation accessible by any device in the network; obtain serviceinformation related to services offered by any of the devices within thenetwork, the service information including transport medium information,including communication mediums over which each offered service isaccessible; create a connectivity table, wherein the connectivity tableis associated with the service information, wherein the connectivitytable maps each of the offered services to the communication mediumsover which each service is accessible; create service nodescorresponding to the service information in the shared memory space; andmap the shared memory space in order to select at least one service nodespecified by an application resident on the device in the network and atleast one transport medium determined utilizing the connectivity table.8. A method, comprising: querying a shared memory space establishedamongst two or more devices connected in a network, the shared memoryspace including service nodes related to services offered by any of thetwo or more devices within the network, the service nodes beingconfigured to provide information including property information;querying a connectivity table, wherein the connectivity table isassociated with the services, wherein the connectivity table maps eachof the offered services to the communication mediums over which eachservice is accessible; and selecting at least one service node in theshared memory space; wherein the shared memory space is mapped to enableselecting at least one service node specified by an application residenton a device in the network and at least one transport medium determinedutilizing the connectivity table.
 9. A computer program productcomprising computer executable program code recorded on a computerreadable non-transitory storage medium, the computer executable programcode comprising: code configured to cause a device to query a sharedmemory space established amongst two or more devices connected in anetwork, the shared memory space including service nodes related toservices offered by any of the two or more devices within the network,the service nodes being configured to provide information includingproperty information; code configured to cause a device to query aconnectivity table, wherein the connectivity table is associated withthe services, wherein the connectivity table maps each of the offeredservices to the communication mediums over which each service isaccessible; and code configured to cause a device to select at least oneservice node in the shared memory space; wherein the shared memory spaceis mapped to enable selecting at least one service node specified by anapplication resident on a device in the network and at least onetransport medium determined utilizing the connectivity table.
 10. Adevice, comprising: at least one processor; and at least one memoryincluding computer program code, the at least one memory and thecomputer program code configured to, with the at least one processor,cause the apparatus at least to: query a shared memory space establishedamongst two or more devices connected in a network, the shared memoryspace including service nodes related to services offered by any of thetwo or more devices within the network, the service nodes beingconfigured to provide information including property information; querya connectivity table, wherein the connectivity table is associated withthe services, wherein the connectivity table maps each of the offeredservices to the communication mediums over which each service isaccessible; and select at least one service node in the shared memoryspace; wherein the shared memory space is mapped to enable selecting atleast one service node specified by an application resident on a devicein the network and at least one transport medium determined utilizingthe connectivity table.